#ifndef FONTMANAGER_H_
#define FONTMANAGER_H_

// By: Jesse Guarascia de Urena
// Font Manager
//Deals with loading/reading/deleting fonts

#include <map>
#include "ExtFont.h"

class FontManager
{
private:
	std::map<int, ExtFont *> extFont; // External font map

	bool FontExists(int fontID); // Check if a font exists

public:
	FontManager(void);
	~FontManager(void);

	// Load the different font types
	int LoadExtFont(std::string file, int ptSize = 16);

	// Render a font
	void RenderExtFont(int fontID, std::string text, Rect rect, Color color);
	void RenderExtFont(int fontID, std::string text, float x, float y, Color color);

	// Delete a font
	void DeleteExtFont(int &fontID);

	// Get a font
	inline ExtFont &GetFont(int fontID) { return *extFont[fontID]; }
};

#endif // FONTMANAGER_H_

